package com.yonyou.pmclouds.problemlog.service.rmiitf;

import com.yonyou.pmclouds.basecom.entity.PageObject;
import com.yonyou.pmclouds.basecom.entity.SuperVO;
import com.yonyou.pmclouds.basecom.exception.BusinessException;
import com.yonyou.pmclouds.problemlog.entity.ProblemLogVO;
import com.yonyou.pmclouds.processinspect.entity.ProcedureInspectVO;

import java.util.Map;

public interface ProblemLogQuery {
    /**
     * 根据项目查询问题记录单
     * @param pk_project
     * @return
     * @throws BusinessException
     */
    ProblemLogVO[] qureyByProject(String pk_project) throws BusinessException;
    
    /**
     * 获取图片
     * @param pk_problemlog
     * @return
     * @throws BusinessException
     */
    String[] queryPics(String pk_problemlog) throws BusinessException;

    /**
     * 根据主键查询问题记录单
     * @param pk_problemlog
     * @return
     * @throws BusinessException
     */
    ProblemLogVO queryOne(String pk_problemlog) throws BusinessException;

    /**
     * 引用校验
     * @param code
     * @param ids
     * @return
     * @throws BusinessException
     */
    boolean queryRefByIds(String code, String[] ids) throws BusinessException;

    /**
     * 查询未关闭问题数
     * @param pkProject
     * @return
     */
    Integer selectCountByProject(String pkProject);


    /**
     * 根据项目单据状态查询问题列表
     * @param pkProject
     * @param billStatus
     * @return
     */
    ProblemLogVO[] queryProblemLog(String pkProject, int billStatus) throws BusinessException;

    PageObject<Object> queryByCondition(String[] pkProjects,
                                         String[] creators,
                                         String startDate,
                                         String endDate,
                                         int[] billStatus,
                                         int pageStart,
                                         int pageSize) throws BusinessException;
}
